package com.wdb007.venus.svc.dal.coupon.dao;

import java.util.List;

import com.wdb007.venus.svc.dal.coupon.model.CouponDO;
import com.wdb007.venus.svc.dal.coupon.model.CouponInfoDO;
import com.wdb007.venus.svc.dal.coupon.model.CouponQueryDO;

public interface CouponDAO {
	
    int remove(String id);

    int insert(CouponDO record);

    CouponDO get(String id);

    int update(CouponDO record);
    
    List<CouponInfoDO> getCouponList(CouponQueryDO query);

	List<CouponInfoDO> getChargeCouponList(CouponQueryDO query);
	
	CouponInfoDO getCoupon(CouponQueryDO query);
	
	CouponInfoDO getCouponById(String couponId);
	
	int countByDraw(String couponRuleId);
	
	int countByRuleAndUser(CouponDO query);
	
	List<String> getLockedList();
	
	List<String> getExpireList();
}